package com.ophiux.utils.sign;

import com.ophiux.utils.common.StringUtil;
import com.ophiux.utils.encrypt.Base64Util;

public class OphiuxSignUtil {
	public static final String sign_key = "ophiux_cszxwz@2018";
	
	/**
	 * 加密数据
	 * @param data 加密数据(当前使用时间戳)
	 * @return 加密后的数据
	 */
	public static String encrypt(String data,String key) {
		String sign = "";
		try {
			String signkey = StringUtil.isEmpty(key)?sign_key:key;
			String sign_param = signkey + data; 
			sign = new String(Base64Util.encodeBase64(sign_param.getBytes()));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return sign;
	}
	
	
	/**
	 * 解密数据
	 * 
	 * @param data 待解密数据
	 * @return 解密后的数据
	 */
	public static String decrypt(String data) {
		String sign_data = "";
		try {
			sign_data = new String(Base64Util.decodeBase64(data.getBytes()));
		}catch(Exception e) {
			e.printStackTrace();
		}
		
		return sign_data;
	}
	
	/**
	 * 验证
	 * @param sign
	 * @return
	 */
	public static boolean veritySign(String sign) {
		
		String sign_data = decrypt(sign);
		if(sign_data.contains(sign_key)) {
			return true;
		}else {
			return false;
		}
		
	}
	
	
	public static void main(String[] args) {
//		System.out.println(encrypt("owieflasdkjfhiu"));
		
		
//		System.out.println(veritySign("TVoTsouOrw7+HGgcZpvOmyi7jftIJ0tE"));
	}
}
